#ifndef __BOSS_H
#define __BOSS_H

#include "vector2f.h"
#include "multiSprite.h"
#include "ioManager.h"
#include "puppet.h"

class Boss : public Puppet
{
	public:
		Boss(const string& n);
		virtual ~Boss();
		void update();
		void draw();
		Sprite *getSprite();
		void addHealth(int x);
		int getHealth();
		bool isDead() { return dead; }

		// Puppet functions
		virtual void left();
		virtual void right();
		virtual void jump();
		virtual void shoot(Vector2f &dir);

	private:
		IOManager &io;
		string name;
		Sprite *sprite;
		int health;
		float health_dx;
		int r,g,b;
		bool dead;

		void updateHealth();

		Boss(const Boss&);
		void operator=(const Boss&);
};

#endif // !__BOSS_H

